#include <REGX52.H>

/**
  * @brief  串口初始化，4800bps@12.000MHz
  * @param  无
  * @retval 无
  */
void UART_Init()
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x50;		//8位数据,可变波特率
	TMOD &= 0x0F;		//设置定时器模式
	TMOD |= 0x20;		//设置定时器模式
	TL1 = 0xF4;		//设置定时初始值
	TH1 = 0xF4;		//设置定时重载值
	ET1 = 0;		//禁止定时器%d中断
	TR1 = 1;		//定时器1开始计时
	EA = 1;		//使能中断
	ES = 1;		//启动串口中断
}

/**
  * @brief  串口发送一个字节数据
  * @param  Byte 要发送的一个字节数据
  * @retval 无
  */
void UART_SendByte(unsigned char Byte)
{ 
	SBUF=Byte;
	//当接收到数据满8位的时候,由硬件将TI置1,触发中断,然后必须使用软件的方式置0.
	while(TI==0);//等候TI变化
	TI=0;
	/*
	不能写成
	while(TI == 0){
		TI = 0;
	}
	*/
}

/** 使用中断函数的模板
  * @brief  
  * @param  
  * @retval 
  */
//void UART_Routine() interrupt 4 {
//	if(RI == 1){
//		
		//PUT CODE HERE
//		
//		RI = 0;
//	}
//}
